查看原文
其他

数仓深度 | 数据生命周期管理

The following article is from BigDataplus Author 后羿BigDataplus


数据全生命周期

数据的生命周期是指某个集合的数据从产生或获取到销毁的过程。数据全生命周期分为:采集、存储、整合、呈现与使用、分析与应用、归档和销毁几个阶段。

在数据的生命周期中,数据价值决定着数据全生命周期的长度,并且数据价值会随着时间的变化而递减。从明细和汇总数据的数据价值分析随时间变化来看,而且明细数据的有用性递减曲线要比汇总数据的更加陡峭。此外,随着时间推移汇总数据有用性曲线趋于平缓,有时还会上升;而明细数据会趋向渐进地接近于零。

同样,数据的采集粒度与时效性、存储方式、整合状况、可视化程度、分析的深度和应用衔接的程度,都会数据价值的体现产生影响,所以需针对数据生命周期各个阶段的特点采取不同的管理方法和控制手段。总之,在成本可控、可量化、可管理的前提下,从数据中挖掘出更多有效的数据价值。

与此同时,数据全生命周期管理与企业数据战略也是密不可分的。数据战略决定了数据采集策略和范围、存储和计算资源投入、数据整合能力、可视化的程度和分析的广度与深度等资源投入。下面笔者从数据全生命周期的几个阶段依次分析。


1. 采集

数据采集是指从系统外部采集数据并输入到系统内部的过程。数据采集系统整合了信号、传感器、wifi探针、摄像头等数据采集设备和一系列应用软件。在大数据时代,企业不仅要采集企业内部数据,同样也需要采集外部数据,同时在法律法规允许框架下,根据数据战略来定义数据采集范围和采集策略。

数据采集策略

  • 以业务需求为导向的数据采集策略

 当业务或管理提出数据需求时,再去进行数据采集并整合到数据平台。这样虽可用较小成本投入即可满足业务需求,但也会限制数据分析的思维,往往无法从数据中发现"意外"的数据价值。

  • 以数据驱动为导向的数据采集策略

任何与企业相关的数据,尽量采集并整合数据平台中。此采集策略需要投入较多计算、整合、存储的资源成本投入,而且需要强大的数据专家团队能够专业甄选数据,并从中挖掘出隐藏的数据价值,更好地服务于大众、企业决策和企业战略。

数据采集范围分类

    • 语音数据采集

    • 图片数据采集

    • 视频数据采集

    • 用户上网行为埋点采集

    • 设备地理位置信息采集

    • 业务或管理系统日志采集

    • 可穿戴设备等等生活信息采集

    • 网站信息采集

个人信息保护

数据采集虽是数据生命周期管理的重要环节,但特别是外部数据采集,都应在法律法规允许框架下进行的。2019年5月5日,为落实《关于开展App违法违规收集使用个人信息专项治理的公告》,App专项治理工作组在中央网信办、工信部、公安部、市场监管总局指导下,开展了App违法违规收集使用个人信息安全评估,发现一些App存在强制授权、过度索权、超范围收集个人信息等问题。

为了明确界定App收集使用个人信息方面的违法违规行为,为App运营者自查自纠提供指引,为App评估和处置提供参考, App专项治理工作组起草了《App违法违规收集使用个人信息行为认定方法(征求意见稿)》,现向社会公开征求意见。


2. 存储

大数据时代"海纳百川,有容乃大"意味结构化、半结构和非结构化多样化的海量的数据存储,也意味着批数据和流数据多种数据形式的存储和计算。面对不同数据结构、数据形式、时效性与性能要求和存储与计算成本等因素考虑,应该使用适合的存储形式与计算引擎。但数据容量的急剧扩大,这对于数据存储和计算成本带来极大挑战。而应针对不同热度数据采用不同存储和计算资源,以优化存储和处理成本并提升可用性。

数据存储系统划分

从时效性或数据形式上分为批式数据、实时流式数据;数据从结构化上分为结构化、半结构化和非结构化数据存储。根据数据热度不同对存储量、时效性、读写查询性能要求各异,选择适合存储技术。存储技术分类如下:

    • 传统关系数据库:Oracle、DB2、MySQL和SQL Server等,属于结构化数据存储。

    • 分布式关系数据库:Hive、GreenPlumn、Teradata和Vertica等,属于结构化数据存储。

    • NoSql存储:HBase、Redis、Elasticsearch、MongoDB和Neo4J等,属于半结构化和非结构化数据存储。

    • 消息系统:Kafka、RocketMQ等消息系统,属于非结构化和半结构化短期存储。

    • 文件系统:HDFS、S3和OSS等,属于结构化、半结构化和非结构化数据存储。

数据热度

所谓的数据热度,根据价值密度、访问频次、使用方式、时效性等级,将数据划分为热数据、温数据、冷数据和冰数据。数据热度应随着时间的推移,数据价值会变化,应动态更新数据热度等级,推动数据从产生到销毁数据生命周期管理。

  • 热数据:一般指价值密度较高、使用频次较高、支持实时化查询和展现的数据。

  • 温数据:介于冷热数据之间,主要用于数据分析。

  • 冷数据:一般指价值密度低、使用频次较低、用于数据筛选和检索的数据。

  • 冰数据:一般指价值极低,使用频次为零、暂时归档的数据。

热数据服务于决策管理者,建议采用存储量低,但对时效性、稳定性和可用性要求较高存储技术;温数据服务于数据分析者,建议采用存储稍高,计算资源性能高能支持数据分析工具有效发挥的存储和计算引擎;冷数据服务于数据科学家,建议采用大容量、批量计算能力和可扩展存储技术;冰数据采用超大容量,超低成本用于归档的存储技术。

对于冰数据归档数据,可根据企业数据战略按照数据年龄、法律强制保留年限等要求,制定数据销毁规则,对在充分挖掘数据价值前提下,对数据进行销毁减少不必要存储成本,其实这也是数据全生命周期管理的意义。

3. 整合

数据整合是一个较为复杂的过程。这其中涉及数据标准、数据清洗、数据质量、元数据(版本管理、数据知识、字段级血缘关系和影响度分析等等)管理、ETL(抽取、加载、转换)、数据模型设计等等过程的企业数据仓库建设或数据湖建设。数据湖相关文章笔者以后会单独分享,这里数据整合就是指数据仓库建设。

笔者这里给出数仓之父Bill inmon数据仓库定义:面向主题的、集成的、稳定的反映历史变化的数据集合,以用于企业决策支持。数据仓库建设方法论经过那么多年的发展和演变有好多种,但是至今较为常用的数据仓库建模方法论:Bill inmon的ER模型和Ralph Kimball的维度模型。

ER模型

此建模方法是从全企业的高度设计一个符合第三范式(3NF)模型,用实体关系(ER)模型描述企业业务。数据仓库中3NF和OLTP系统中的3NF的区别是它站在全企业角度面向主题的抽象,而不是针对某个具体的业务流程的实体对象关系的抽象。换句话说,设计数据仓库既不面向功能也不面向应用,是为了满足全企业的数据需求,而不是为了满足某个部门的特定分析需求。

采用ER模型设计数据仓库模型的出发点是为了整合或集成数据,将各个系统中的数据,以整个企业角度按照主题进行相似性组合和合并,并进行一致性处理,为数据分析决策服务,但不能直接用于分析决策(因为分析决策的功能不在数仓层)。数据建模分为三个层次:高层建模(称为实体关系图,或ERD),中间层建模(数据项集或DIS)和底层建模(物理模型)。

  • 高层模型:是实体的最高抽象层模型,描述主要的主题或主题域的关系,用于描述企业的业务总体概况。

  • 中间层模型:为高层模型标示出的每个主要主题或主题域再进一步细化数据项,是每个主题域的进一步扩展。

  • 底层模型:在中间层模型的基础上,考虑物理存储和物理属性设计,可做一些表合并、分区设计,使模型中包含关键字(主键)和物理特性。

ER模型的最佳实践是Teradata基于金融行业发布的FS-LDM逻辑数据模型,它通过对金融业务高度抽象和总结,将金融业务划分为10大金融主题(当事人、产品、协议、事件、资产、财务、机构、地域、营销和渠道),并以设计面向金融数仓模型的核心为基础,适当调整和扩展即可快速落地实施。

维度模型

此建模方法是数据仓库大师Ralph Kimball所倡导的。是数据仓库工程领域最流行的数据仓库建模经典。

维度建模从数据分析决策的需求出发构建模型,为分析需求服务,因此其重点是关注业务用户如何更快地完成需求分析,同时具有较好的查询性能

  • 选择过程:识别出主要的业务过程。它们会充当事实表的源,用数值的、可累加的事实来填充事实表。

  • 选择粒度:粒度的选择意味着准确确定事实表中的记录代表什么,记录细分程度。只有选择了维度的情况下,才能进行业务过程对应维度有条理探讨。

  • 识别和一致化维度:选择了粒度后进行维度表设计。维度是事实表入口,是用户分析进行分组、筛选和检索的关键,需符合企业数据仓库总线前提下,一致化维度和一致化事实设计。

  • 选择事实:确定分析需要衡量的指标。事实尽可能具有累加性。

这些只是描述建模设计主要步骤,当然还有其他的步骤,如在事实表中存储预处理算法(事实表可累加事实之间的预处理显示存储),缓慢变化维度设计和物理设计等。

两种建模方式根本性差异:

  • 在加载到维度模型之前是否需要一个标准化数据结构(3NF的数据结构)

  • 在原子数据的处理。Bill Inmon认为原子数据应该存储到标准化数据仓库中,Ralph Killball认为原子数据必须被维度结构化。

但在大数据时代,有新数据处理技术、数据计算能力、廉价的存储空间。企业在维度建模核心思想指导下,对传统数据仓库建设方法论进行改进。目前业界普遍使用Hive作为数据仓库存储,对于sharing nothing分布式数据库每多关联一次都增加读取成本(IO、CPU、NET开销)和降低访问效率。数据模型设计也主要以维度建模理论为基础,基于数据仓库总线构建一致性维度和一致性事实框架下,采用退化维度方式,将部分维度退化到事实表中,减少关联以提高查询效率。

数据模型可分为四层:操作数据层(ODS),公共维度模型层(CDM)、标签数据层(TDM)和应用数据层(ADS)。其中公共维度模型层包括明细数据层(DWD)和汇总数据层(DWS)。模型层次关系图:

操作数据层(ODS):把源系统数据几乎无处理地存放到数据仓库中。

  • 同步:结构化数据增量或全量同步到数据仓库Hive

  • 结构化:把流式、批式半结构或非结构化数据经过结构化处理存储数据仓库Hive

公共维度模型层(CDM):存放明细事实数据、维度数据及公共统一指标汇总数据,其中明细事实数据、维度表数据一般根据ODS层数据加工生成,公共统一指标汇总数据一般根据维度表和明细事实表加工生成。

CDM层又细分为DWD层和DWS层,分别是明细数据层和总汇层,用维度建模理论为基础,将维度退化到事实表中,减少了事实表和维度表的关联提高查询性能;同时汇总数据层,加强指标维度退化,采取构建大宽表构建公共统一指标数据层 ,提升指标的易用性和查询性能。主要功能如下:

  • 组合和合并相似数据:采用明细宽表,复用关联计算,减少表之间的关联和数据扫描,合并不同业务为统一过程

  • 统一指标加工:统一命名规范、统一数据类型、统一计算口径,为数据产品、应用和服务提供统一指标体系;建立逻辑汇总宽表。

  • 建立一致性维度和事实:降低了粒度、计算口径、筛选和分组不一致的风险。

  • 数据清洗:去重、去噪、空值转化、格式统一等数据清洗

数据标签层(TDM):通过客户信息标签化,存放客户属性、行为、消费、社交和风险控制维度刻画客户的全貌信息。主要功能如下:

  • 客户ID打通:ID-MApping,即把客户不同来源等身份标识通过数据手段识别为同一主体。完成对客户信息的全面刻画。

  • 统一标签加工:统一标签分类、命名规范、数据类型、计算口径等,为数据分析与应用服务。


数据标签体系按照标签类型可分为统计类、规则类和机器学习挖掘类三大类型;亦可从用户属性、用户行为、用户消费、风险控制和社交属性共五大维度划分归类。如下

这五大维度数据标签不再一一列举,仅举例用户属性标签如下:



数据标签体系建设涉及标签分类、命名规范和计算口径等元数据管理、标签开发、标签存储、标签应用、数据质量管理和数据价值管理内容较多,笔者会单独写文章详细分享。


应用数据层(ADS):存放数据产品个性化的统计指标数据,CDM层和ODS层加工生成。

  • 个性化指标加工:不公用型,复杂性(指数型、比值型、排名指标等)

  • 基于应用数据组织:大宽表数据集市、横表转纵表等。

数据仓库分层有以下优点:

  • 清晰数据结构:便于元数据管理,每一个数据分层都有其作用域,在使用数据或表时能快速定位和准确理解;

  • 数据血缘追踪:清晰的血缘关系,影响度分析,够快速准确地定位到问题,并清楚它的危害范围;在修复数据问题,从问题数据层修复即可,不用修复所有数据层。

  • 减少重复开发:规范数据分层,开发通用中间层数据,如CDM层,能够减少极大的重复计算;

  • 屏蔽原始数据的异常:如DWD层数据清洗,去噪和空值转换等。

  • 屏蔽业务的影响:数据整合转换屏蔽业务影响。

在进行数据仓库建设过程中,需遵守数据仓库总线即一致性维度和一致性事实框架下,避免烟囱式重复数据集市建设、保证遵守命名、术语、备注、数据类型、编码、计算口径一致性的数据标准、保证数据清洗和数据质量、数据逻辑可重复执行性、公共层准确抽象整合提高重复使用,减少重复计算、易于理解和易用查询地把数据有效整合和组织起来。

数据仓库建设或数据整合在各企业并无统一落地标准或章法,但绝大多数都是结合当前大数据技术在Bill inmon或Ralph Killball方法论理论基础上建设的,数据仓库建设的成功与否也难于判断,但笔者给出衡量数据仓库建设或数据整合是否成功的几个指标仅供参考:

  • 是否满足业务用于决策?

  • 业务用户是否使用该数据仓库?

  • 数据对于业务用户是否是可理解的?

  • 是否回答了用户的业务问题?

  • 分析和查询性能是否是用户可接受的?

  • 是否存在大量冗余重复存储和计算


4. 呈现与使用

在这个数据爆炸的时代,人类数据分析的能力已经远远落后于获取数据的能力。这个挑战不仅在于数据量大、高维、多元源、多态等,更重要的是数据获取的动态性、数据内容的噪声和相互矛盾,数据关系异构与异质性等。还有,通过纯粹数字和数字术语这样数据思考并非人类的本能,想要在有需要时迅速、准确的判断和决策实属不易。面对这些挑战可借助于数据可视化完成DIWK(数据、信息、知识和智慧)模型定义数据到智慧的转换。


现代数据可视化主要旨在借助图形化手段,清晰有效地传达与沟通信息。可视化利用图形、图像处理、计算机视觉及用户界面,通过表达、建模以及立体、表面、属性及动画的显示,对数据加以可视化解释。用户通过可视化的感知,使用可视化交互工具进行数据分析,获取知识,并进一步提升为智慧。

但信息并非知识,知识并非智慧,智慧也并非远见卓识。数据是基本的模块,可通过各种组织方法构成信息:信息则可以转化为实用的知识,知识在理想的情况下转换为智慧。如果这一发展过程看作一个整体,那么每个阶段都可能会产生各种洞察力。但由于各阶段中可能出现差错或错误信息等,为了避免误入岐途,一定事先做好风险评估。

数据可视化的处理对象是数据。自然地,数据可视化分为包含处理科学数据的科学可视化和与处理抽象的、多样结构化的信息可视化两类:

  • 科学可视化:是可视化领域最早、最成熟的一个跨学科研究与应用领域。面向的领域主要是自然科学,如物理、化学、气象学、航空航天、医学和生物学等各个学科,这些学科通常需要数据和模型进行解释、操作与处理,旨在寻找其中的模式、特点、关系以及异常情况。

  • 信息可视化:信息可视化处理的对象是抽象的、非结构化的数据集合(如文本、图表、层次结构、地图、软件、复杂系统等)。传统的信息可视化起源于统计学图形学、又与信息图形、视觉设计现代技术相关。其表现形式通常在二维空间、因此关键问题是在有限的展现空间中以直观的方式传达出大量的抽象信息。与科学可视化相比,信息可视化更关注抽象的、高维的数据。

数据可视化是对各类数据的可视化理论与方法的统称。在可视化历史上,与领域专家的深度结合导致了面向领域的可视化方法与技术。常见的可视化方法与技术如:生命科学可视化、表意性可视化、地理信息可视化、产品可视化、教育可视化、系统可视化、知识可视化和商务智能可视化等。但笔者此文讲解的数据可视化主要指商务智能BI可视化


商务智能可视化是指在商务智能理论与方法发展过程中与数据可视化融合的概念和方法。BI的目标是将商业和企业运营中收集的数据转化为知识,辅助决策者做出明智的业务经营决策。从技术层面上看,BI是数据仓库、OLAP联机分析工具和数据挖掘等技术的综合运用,其目的是使各级决策者获得知识或洞察力。

商务智能BI常见的可视化分析工具:

    • Excel、水晶报表和Jreport报表工具等

    • Cognos、BO和BIEE多维数据分析工具等

    • SAS、R、Matlab编程语言等

    • Tableau、Superset基于大数据可视化工具等

商务智能可视化的基本思想是将每一项数据作为单个图元的元素表示,大量的数据集构成数据图像,同时将数据的各个属性以多维数据的形式表示,可从不同的维度观察数据,从而对数据进行更深入的观察与分析。

数据可视化与数据分析与挖掘两者已经成为科学探索、工程实践与社会生活中不可缺少的数据处理和发布的手段。但两者异同点如下:

  • 目标相同都是从数据中获取信息与知识

  • 数据可视化将数据呈现为用户易于感知的图形符号,让用户交互地理解数据背后的本质

  • 数据分析与挖掘通过计算机自动化或半自动地获取数据隐藏的知识,并将获取的知识直接给予用户

数据呈现与使用还需涉及数据可见性权限管理、数据展示与发布流程管理、数据使用管理、数据安全和元数据管理。


5. 分析与应用        

大数据建设的目的在于数据分析与应用,只有进行分析与应用,才能体现数据价值,企业应该从以下明确大数据的分析与应用的相关策略。


数据分析与应用的方向

  • 业务驱动,以业务需求为导向的数据分析与应用。根据业务发展需要提出数据分析与应用的需求,业务人员明确数据分析目标,数据分析人员根据该目标,进行统计、分析、建模等工作,形成分析结果或数据模型,技术开发人员结合业务需要和数据分析结果开发应用接口。

  • 数据驱动,以数据出发,发现数据价值,推广到应用。数据分析人员对数据进行研究,发现数据间的关联关系,提出新发现的业务分析方向和应用方向,并提供给业务部门。典型应用模型:数据分析部门定期为业务部分提供相应的数据分析报告,告知在数据分析过程中发现的一些数据与业务的相关性。

在实际应用的过程中,往往两种方向相结合:数据部门在处理业务部门提出的需求中,会进行更深一步的数据探索;而业务部门基于数据分析的结果,往往会调整分析目标,并提出进一步分析的要求。

在数据分析与应用成熟度较低的企业中,业务部门推出数据分析与应用的需求往往不能聚焦。在数据分析资源有限的条件下,数据分析部门应优化承接业务部门的关键绩效指标(KPI)直接相关的数据分析与应用需求,分析与应用的成效应以是否提升了业务部门的KPI为导向。

数据分析与挖掘:

就是采用数据统计的方法,从数据中发现规律,用于描述状况和预测未来,从而指导业务、管理行为和辅助决策。常见数据分析与挖掘的应用:

  • 分析报告:一次性的特定主题的分析报告


  • 静态报表或表格应用:通过编制具有指标口径的静态报表,实现对事物状况的整体性和抽象性的描述,也最常见的数据分析方法。

  • 即席查询与分析(Ad hoc):针对特定的场景与对象,通过分析对象及对象的关联对象。使用即席工具,用户在数据模型上,可拖拉维度和事实自定义查询和分析。



  • 多维分析:从多角度灵活动态地进行分析。基于多维分析技术,可以基于维度对数据进行切片、切块、上卷、下钻和旋转分析。

  • 数据查询即数据检索,以确定性或模糊性的条件检索所需要的数据,在数据库技术出现之后,即可支持数据的查询。

  • 数据挖掘:指从大量的数据中,通过算法挖掘在其中的信息的过程,用于知识和规律的发现。

数据应用:

数据分析的结果可视化呈现为企业提供决策支持,也可将数据分析与挖掘的成果转化为具体的应用集成到业务流程中,为业务直接提供数据支持。数据的应用一般可分为两类:

  • 嵌入业务流程的数据辅助功能应用:在业务流程中嵌入数据功能,嵌入的深度在不同的场景下不是不同的。在某些场景下,基于数据分析与挖掘结果形成业务结果,将变为具体的业务规则或推荐系统,深入地嵌入业务流程中。

  • 以数据驱动的业务场景:一些基于数据的应用离开数据分析与挖掘的结果,应用场景也无法发生。

常见数据应用:

    • 交互式分析应用

    • 领导驾驶舱

    • 酷屏

    • 标签系统

    • 智能风控

    • 精准营销

    • ....


6. 归档

数据归档是指将那些生命周期步入尾声保存到低性能廉价的存储,是数据生命周期管理必不可少的步骤。在数据的正常运行过程中,数据热度从热、温、冷和冰的依次降温的转化可认为是归档的过程。可根据企业监管法规要求及企业战略,指定出明确数据热、温、冷和冰数据之间的界限,制定出企业数据归档策略,并依据归档策略对数据进行归档处理。

哪些数据需要归档,主要与监管法规的要求及企业的数据战略有关,其中有些关键的指标可供参考:

  • 数龄大老化的数据

  • 低使用率且容量大的数据

  • 暂无数据价值的冰数据

  • 企业监管法规要求强行保留的数据

  • 由于数据具有关键性价值而被保留的数据,无关乎使用概率

数据归档还要考虑到数据结构重构、数据压缩格式改变、访问性变化、数据可恢复性和数据可理解性元数据管理等方面。


7. 销毁

随着存储成本的进一步降低,越来越多的企业采取了“保存全部数据”的策略。因为从业务和管理的角度,以及数据价值角度上讲,谁也无法未来会使用什么数据。但随着数据量急剧增长,从价值成本角度,存储超出业务需求的数据未必是个好的选择。有时候一些历史数据也会导致企业的法律风险,因此数据的销毁还是很多企业应该考虑的选项。

对于数据的销毁,企业应该有严格的管理制度,建立数据销毁的审批流程,并制作严格数据销毁检查表。只有通过检查表检查,并通过流程审批的数据才可被销毁。


总结

本文详细分享数据采集、存储、整合、呈现与使用、分析与应用、归档和销毁全生命周期的每个阶段。 只有更充分地认识数据的全生命周期,才能更好描述、衡量、量化和管理数据。在数据全生命周期管理过程中,元数据管理、数据质量管理、数据安全和配套管理办法与流程也会贯穿到数据全生命周期。



扩展阅读:数仓资料已为读者朋友准备好了,点击下方公众号“数据仓库与Python大数据”后台回复“数仓”,即可下载。也为大家整理好了《大数据面试100题.pdf》,加vx:iom1128,备注:100,即可领取。
关于我们:本公众号致力于建设大数据领域知识技术人文资源共享平台,3w+关注,保持日更,每天08:16发文,为您提供优秀高质量的数据领域的分享。欢迎分享给同行朋友,加群或投稿或转载可加v:iom1128 或 edw0808,备注:数据,谢谢!

☛ 美团-数据仓库高级工程师面试
 大数据干货文章精选(推荐收藏)
☞ 数据文化 | Uber的数据治理
☞ 面试必备!10道海量数据处理BAT面试题



更多干货,请戳"阅读原文"到"专题"查看



关注不迷路~ 各种干货、资源定期分享

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存